package com.itheima.demo3;

public class 类型转换案例 {
    /*
    请找出下列代码的错误，指出原因并解决
     */
    public static void main(String[] args) {
        byte a = 3;
        byte b = 4;
        /*
        知识点铺垫：
            隐式转换：当小的数据类型和大的数据类型在一起运算的时候，小的会先提升为大的之后，再进行运算
                    特殊关注：特殊关注: byte short char 在运算的时候，都会直接提升为int，然后再进行运算.
            错误原因：
                byte c = a + b;
                这里的a和b是两个bvte类型它们在运算之前会将自已提升为int类型然后再进行运算
                结果还是int，两个int相加，想要把一个int类型的结果，赋值给byte类型的变量
                    大的给小的不能直接给
                    非要给的话，强制转换
         */
        byte c = (byte) (a + b);//可以使用括号提升a和b的优先级，让a+b先运算再去转换
        System.out.println(c);
    }
}
